﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using VoteInformationSystem.Models;

namespace VoteInformationSystem.Controllers
{
    public class VoteController : Controller
    {
        readonly IBundestagswahlRepository _bundestagswahlrepository = new NpgsqlBundestagswahlRepository();
        readonly IBundeslandRepository _bundeslandrepository = new NpgsqlBundeslandRepository();
        readonly IWahlkreisRepository _wahlkreisrepository = new NpgsqlWahlkreisRepository();

        [RequireHttps]
        public ActionResult Index(int Id)
        {
            ViewBag.Wahlkreis = _wahlkreisrepository.Get(Id);
            Bundesland land = _bundeslandrepository.Get(ViewBag.Wahlkreis.IdBundesland);
            ViewBag.Bundestagswahl = _bundestagswahlrepository.Get(land.IdBundestagswahl);
            ViewBag.Parteien = _bundeslandrepository.GetParteien(land.Id);
            ViewBag.Direktkandidaten = _wahlkreisrepository.GetDirektkandidaten(Id);
            return View();
        }

        [HttpPost]
        [RequireHttps]
        public ViewResult Index(Stimme stimme)
        {
            if (ModelState.IsValid)
            {
                IQRCodeRepository qrcodeRepository = new NpgsqlQRCodesRepository();
                if (qrcodeRepository.IsValid(stimme.QRCode))
                {
                    //IStimmeRepository stimmeRepository = new NpgsqlStimmeRepository();
                    //stimmeRepository.Save(stimme);
                    return View("Thankyou");
                }
                else
                {
                    return View("Votedalready");
                }
            }
            else
            {
                return View();
            }
        }
    }
}
